/*
 * COPYRIGHT. ShenZhen Li.Shangzhi  2018.
 * ALL RIGHTS RESERVED.
 *
 * No part of this publication may be reproduced, stored in a retrieval system, or transmitted,
 * on any form or by any means, electronic, mechanical, photocopying, recording, 
 * or otherwise, without the prior written permission of ShenZhen Li.Shangzhi
 *
 * Amendment History:
 * 
 * Date                   By              Description
 * -------------------    -----------     -------------------------------------------
 * Nov 28, 2018    Li.shangzhi         Create the class
 */
package com.gitee.icloud.iot.upms.entity;

import com.gitee.icloud.iot.upms.biz.DepartBiz;
import com.gitee.icloud.iot.upms.feign.DictFeign;
import com.gitee.icloud.merge.annonation.MergeField;

import jdk.nashorn.internal.ir.annotations.Ignore;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;

import java.io.Serializable;
import java.util.Date;
/**
 * @FileName User.java
 * @Description: 
 *
 * @Date Nov 28, 2018 7:19:53 PM
 * @author Li.shangzhi
 * @version 1.0
 */
@Table(name = "base_user")
public class User implements Serializable{
	private static final long serialVersionUID = -2786301994259082323L;
	@Id
	//@GeneratedValue(generator = "UUID")
	private String id;

	private String username;

	@Ignore
	private String password;

	private String name;

	private String birthday;

	private String address;

	@Column(name = "mobile_phone")
	private String mobilePhone;

	@Column(name = "tel_phone")
	private String telPhone;

	private String email;

	@MergeField(key = "comm_sex", feign = DictFeign.class, method = "getDictValues")
	private String sex;

	private String type;

	private String description;

	//创建人
	@Column(name = "crt_user_name")
	private String crtUserName;

	//创建人ID
	@Column(name = "crt_user_id")
	private String crtUserId;

	//创建时间
	@Column(name = "crt_time")
	private Date crtTime;

	//最后更新人
	@Column(name = "upd_user_name")
	private String updUserName;

	//最后更新人ID
	@Column(name = "upd_user_id")
	private String updUserId;

	//最后更新时间
	@Column(name = "upd_time")
	private Date updTime;

	private String attr1;

	private String attr2;

	private String attr3;

	private String attr4;

	private String attr5;

	private String attr6;

	private String attr7;

	private String attr8;

	@Column(name = "is_deleted")
	private String isDeleted;

	@Column(name = "is_disabled")
	private String isDisabled;

	@MergeField(feign = DepartBiz.class,method = "getDeparts",isValueNeedMerge = true)
	@Column(name = "depart_id")
	private String departId;

	@Column(name = "is_super_admin")
	private String isSuperAdmin;

	@Column(name = "tenant_id")
	private String tenantId;

	public String getTenantId() {
		return tenantId;
	}

	public void setTenantId(String tenantId) {
		this.tenantId = tenantId;
	}

	/**
	 * @return id
	 */
	public String getId() {
		return id;
	}

	/**
	 * @param id
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * @return username
	 */
	public String getUsername() {
		return username;
	}

	/**
	 * @param username
	 */
	public void setUsername(String username) {
		this.username = username;
	}

	/**
	 * @return password
	 */
	public String getPassword() {
		return password;
	}

	/**
	 * @param password
	 */
	public void setPassword(String password) {
		this.password = password;
	}

	/**
	 * @return name
	 */
	public String getName() {
		return name;
	}

	/**
	 * @param name
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * @return birthday
	 */
	public String getBirthday() {
		return birthday;
	}

	/**
	 * @param birthday
	 */
	public void setBirthday(String birthday) {
		this.birthday = birthday;
	}

	/**
	 * @return address
	 */
	public String getAddress() {
		return address;
	}

	/**
	 * @param address
	 */
	public void setAddress(String address) {
		this.address = address;
	}

	/**
	 * @return mobile_phone
	 */
	public String getMobilePhone() {
		return mobilePhone;
	}

	/**
	 * @param mobilePhone
	 */
	public void setMobilePhone(String mobilePhone) {
		this.mobilePhone = mobilePhone;
	}

	/**
	 * @return tel_phone
	 */
	public String getTelPhone() {
		return telPhone;
	}

	/**
	 * @param telPhone
	 */
	public void setTelPhone(String telPhone) {
		this.telPhone = telPhone;
	}

	/**
	 * @return email
	 */
	public String getEmail() {
		return email;
	}

	/**
	 * @param email
	 */
	public void setEmail(String email) {
		this.email = email;
	}

	/**
	 * @return sex
	 */
	public String getSex() {
		return sex;
	}

	/**
	 * @param sex
	 */
	public void setSex(String sex) {
		this.sex = sex;
	}

	/**
	 * @return type
	 */
	public String getType() {
		return type;
	}

	/**
	 * @param type
	 */
	public void setType(String type) {
		this.type = type;
	}

	/**
	 * @return description
	 */
	public String getDescription() {
		return description;
	}

	/**
	 * @param description
	 */
	public void setDescription(String description) {
		this.description = description;
	}

	public String getCrtUserName() {
		return crtUserName;
	}

	public void setCrtUserName(String crtUserName) {
		this.crtUserName = crtUserName;
	}

	public String getCrtUserId() {
		return crtUserId;
	}

	public void setCrtUserId(String crtUserId) {
		this.crtUserId = crtUserId;
	}

	public Date getCrtTime() {
		return crtTime;
	}

	public void setCrtTime(Date crtTime) {
		this.crtTime = crtTime;
	}

	public String getUpdUserName() {
		return updUserName;
	}

	public void setUpdUserName(String updUserName) {
		this.updUserName = updUserName;
	}

	public String getUpdUserId() {
		return updUserId;
	}

	public void setUpdUserId(String updUserId) {
		this.updUserId = updUserId;
	}

	public Date getUpdTime() {
		return updTime;
	}

	public void setUpdTime(Date updTime) {
		this.updTime = updTime;
	}

	/**
	 * @return attr1
	 */
	 public String getAttr1() {
		return attr1;
	}

	/**
	 * @param attr1
	 */
	 public void setAttr1(String attr1) {
		 this.attr1 = attr1;
	 }

	 /**
	  * @return attr2
	  */
	 public String getAttr2() {
		 return attr2;
	 }

	 /**
	  * @param attr2
	  */
	 public void setAttr2(String attr2) {
		 this.attr2 = attr2;
	 }

	 /**
	  * @return attr3
	  */
	 public String getAttr3() {
		 return attr3;
	 }

	 /**
	  * @param attr3
	  */
	 public void setAttr3(String attr3) {
		 this.attr3 = attr3;
	 }

	 /**
	  * @return attr4
	  */
	 public String getAttr4() {
		 return attr4;
	 }

	 /**
	  * @param attr4
	  */
	 public void setAttr4(String attr4) {
		 this.attr4 = attr4;
	 }

	 /**
	  * @return attr5
	  */
	 public String getAttr5() {
		 return attr5;
	 }

	 /**
	  * @param attr5
	  */
	 public void setAttr5(String attr5) {
		 this.attr5 = attr5;
	 }

	 /**
	  * @return attr6
	  */
	 public String getAttr6() {
		 return attr6;
	 }

	 /**
	  * @param attr6
	  */
	 public void setAttr6(String attr6) {
		 this.attr6 = attr6;
	 }

	 /**
	  * @return attr7
	  */
	 public String getAttr7() {
		 return attr7;
	 }

	 /**
	  * @param attr7
	  */
	 public void setAttr7(String attr7) {
		 this.attr7 = attr7;
	 }

	 /**
	  * @return attr8
	  */
	 public String getAttr8() {
		 return attr8;
	 }

	 /**
	  * @param attr8
	  */
	 public void setAttr8(String attr8) {
		 this.attr8 = attr8;
	 }

	 public String getIsDeleted() {
		 return isDeleted;
	 }

	 public void setIsDeleted(String isDeleted) {
		 this.isDeleted = isDeleted;
	 }

	 public String getIsDisabled() {
		 return isDisabled;
	 }

	 public void setIsDisabled(String isDisabled) {
		 this.isDisabled = isDisabled;
	 }

	 public String getDepartId() {
		 return departId;
	 }

	 public void setDepartId(String departId) {
		 this.departId = departId;
	 }

	 public String getIsSuperAdmin() {
		 return isSuperAdmin;
	 }

	 public void setIsSuperAdmin(String isSuperAdmin) {
		 this.isSuperAdmin = isSuperAdmin;
	 }
}
